package com.demo.demo.json;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;

/**
 * 企微接口通用返回结果 json
 */
@Data
public class QyResponse<T> implements Serializable {
    /**
     * 返回code
     */
    @JSONField(alternateNames = "errcode")
    private Integer code;

    /**
     * 返回消息
     */
    @JSONField(alternateNames = "errmsg")
    private String message;

    /**
     * 任务ID
     */
    @JSONField(alternateNames = "jobid")
    private String jobid;

    /**
     * 任务状态 1表示任务开始，2表示任务进行中，3表示任务已完成
     */
    @JSONField(alternateNames = "status")
    private Integer status;

    /**
     * 请求id
     */
    private String requestId;

    /**
     * 时间戳（毫秒）
     */
    private Long timestamp;

    /**
     * 接口返回的具体数据，支持设置多个别名
     */
    @JSONField(alternateNames = {"data", "department", "taglist", "userlist"})
    private T data;

//    public static void main(String[] args) {
//        //转json
//        QyResponse<List<DepartmentMember>> qyResponse = JSONObject.parseObject(response, new TypeReference<QyResponse<List<DepartmentMember>>>(){});
//
//    }
}
